package com.txMsg.server.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.txMsg.server.entity.TxMsg;

import java.util.List;

public interface TxMsgService extends IService<TxMsg> {
    /**
     * 添加事务消息-状态改为【准备发送】
     * @param txMsg
     * @return
     */
    public boolean saveTxMsg(TxMsg txMsg);

    /**
     * 确认事务消息-状态改为【已发送】并发送MQ
     * @param txMsgId
     * @return
     */
    public boolean confirmTxMsg(String txMsgId);

    /**
     * 删除MQ已经消费成功的事务消息
     * @param txMsgId
     * @return
     */
    public Object deleteTxMsg(String txMsgId);

    /**
     * 重新发送状态是【已发送】的数据到MQ
     * status=1 & sendCount<=maxSendCount & deleteFlag=0
     */
    public void sendConfirmTxMsg();

    /**
     * 回调查询-处理 状态是【准备发送】的数据
     */
    public void callbackTxMsg();
    /**
     * 发送MQ并修改发送次数
     * @param listTxMsg
     */
    public void listSendTxMsg(List<TxMsg> listTxMsg);
    public void listCallbackTxMsg(List<TxMsg> listTxMsg);

}
